BLP: Applying ILP Techniques to Bytecode Execution

نویسندگان

  • Kevin Scott
  • Kevin Skadron
چکیده

The popularity of Java has resulted in a flurry of engineering and research activity to improve performance of Java Virtual Machine (JVM) implementations. This paper explores the concept of bytecode-level parallelism (BLP): dataand controlindependent bytecodes that can be executed concurrently, just as conventional machine instructions are executed concurrently to exploit instruction-level parallelism (ILP). Quantifying the degree of BLP available is an important first step in finding ways to exploit it. This paper presents measurements for the SPECjvm98 suite that show levels of BLP are high even within basic blocks—with an average BLP degree of 5.6—and that levels of BLP are very large—19.8—when speculating past control flow. This suggests that techniques designed to exploit BLP can yield substantial speedups in the performance of a JVM and other

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallelism of Java Bytecode Programs and a Java ILP Processor Architecture

The Java programming language has been widely used to develop dynamic content in Web pages. The Java Virtual Machine (JVM) executes Java bytecode. For efficient transmission over the Internet, the Java bytecode is a stack oriented architecture: instructions need not contain source and destination specifiers in their bytecodes. The Java bytecodes may be executed on various platforms by interpret...

متن کامل

ByCounter: Portable Runtime Counting of Bytecode Instructions and Method Invocations

For bytecode-based applications, runtime instruction counts can be used as a platform-independent application execution metric, and also can serve as the basis for bytecode-based performance prediction. However, different instruction types have different execution durations, so they must be counted separately, and method invocations should be identified and counted because of their substantial ...

متن کامل

Platform Independent Timing of Java Virtual Machine Bytecode Instructions

The accurate measurement of the execution time of Java bytecode is one factor that is important in order to estimate the total execution time of a Java application running on a Java Virtual Machine. In this paper we document the difficulties and solutions for the accurate timing of Java bytecode. We also identify trends across the execution times recorded for all imperative Java bytecodes. Thes...

متن کامل

Automatic Partitioning of Object-Oriented Programs with Multiple Distribution Objectives

There are many domains in which it would be very useful if we could take a monolithic program and automatically convert it into a distributed program according to some partitioning objective, such as minimizing total execution time or minimizing energy consumption on one particular distribution node. We present two novel techniques that work together to provide automatic multi-objective partiti...

متن کامل

Using Dynamic Analysis Of Java Bytecode For Evolutionary Object-Oriented Unit Testing

The focus of this paper is on presenting a methodology for generating and optimizing test data by employing evolutionary search techniques, with basis on the information provided by the analysis and interpretation of Java bytecode and on the dynamic execution of the instrumented test object. The main reason to work at the bytecode level is that even when the source code is unavailable, structur...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000